29 matches found
CVE-2022-24439
GitPython (Python library for interacting with Git) is affected by an RCE vulnerability in clone/clone_from prior to version 3.1.32 due to improper sanitization of user input in non-multi options. The issue allows injecting a malicious remote URL into the clone command because external git calls ...
CVE-2023-40267
GitPython vulnerability CVE-2023-40267 affects versions before 3.1.32, where insecure non-multi options in clone and clone_from are not blocked. This arises as a follow-up to an incomplete fix for CVE-2022-24439. The issue enables Remote Code Execution via crafted or insecure remote URLs used in ...
CVE-2024-22190
CVE-2024-22190 (GitPython) affects GitPython, where an incomplete fix for CVE-2023-40590 leaves an untrusted search path risk on Windows when a shell is used to run git or when bash.exe is used to interpret hooks. The issue can allow a malicious git.exe or bash.exe from an untrusted repository to...
CVE-2023-41040
CVE-2023-41040 affects the Python Git library GitPython. In some code paths, a user-supplied file name is joined with the repository’s base directory without ensuring the final path stays inside the repo’s .git area, enabling a potential blind local file access scenario. Official descriptions not...
CVE-2026-67322
GitPython before 3.1.52 is vulnerable to environment-variable exfiltration in Repo.clone_from(). The clone URL is passed through Git.polish_url(), which on non-Cygwin platforms expands environment variables in the URL via os.path.expandvars(). An attacker-controlled clone URL can embed $NAME or $...
CVE-2026-67324
GitPython 3.1.50 contains a vulnerability where joined short options like -u are not recognized when enforcing the default unsafe-option gate. This allows an attacker-controlled clone to supply -u and bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper during...
CVE-2026-67323
GitPython < 3.1.51 is affected. The vulnerability stems from failing to guard against dangerous Git options passed as keyword arguments in Repo.archive() and git.ls_remote(), enabling command injection via options like --exec and --upload-pack. Additionally, Repo.iter_commits() and Repo.blame(...
CVE-2026-78676
GitPython versions before 3.1.59 are vulnerable to remote code execution via git-config injection. The root cause is unsafe re-serialization of multi-line git-config values during write operations: embedded newlines in quoted values are corrupted into live directives such as core.hooksPath . An a...
CVE-2023-40590
GitPython (CVE-2023-40590) on Windows can execute a malicious git.exe/git in the current repository when GitPython runs git via a shell or when hooks use bash.exe, enabling arbitrary code execution. A patch exists: GitPython 3.1.41 (and advisories note this incomplete fix was addressed). Mitigati...
CVE-2026-42215
GitPython CVE-2026-42215: A vulnerability in GitPython allows arbitrary command execution when attacker-controlled kwargs are passed to Repo.clone_from(), Remote.fetch(), Remote.pull(), or Remote.push() via the Python kwargs upload_pack/receive_pack. The default unsafe-options guard (allow_unsafe...
CVE-2026-73620
GitPython 3.x has a vulnerability in which GitPython before 3.1.57 fails to guard git option forwarding in IndexFile.checkout() and TagReference.create(), allowing attackers to pass unsafe options via kwargs. This can enable --prefix to overwrite arbitrary files with repository content and -F to ...
CVE-2026-73623
GitPython prior to 3.1.54 contains an incomplete denylist in unsafe_git_clone_options that omits --template, enabling attackers to achieve arbitrary command execution during clone operations. By supplying --template pointing to a directory with malicious post-checkout hooks, an attacker could tri...
CVE-2026-67325
GitPython before 3.1.51 is vulnerable to a command injection issue due to an incomplete blocklist that does not account for git’s long-option prefix abbreviation. Attackers can bypass the unsafe options guard by using abbreviated option names (for example, upload_p instead of upload_pack); Git re...
CVE-2026-44243
GitPython (Python library for interacting with Git repositories) contains a path-traversal vulnerability in its reference APIs. Before version 3.1.48, attacker-controlled reference names can be used to cause writes, renames, or deletions of files outside the repository’s .git directory due to ins...
CVE-2026-44244
CVE-2026-44244 (GitPython) : A newline injection in config_writer().set_value() allowed an attacker-controlled core.hooksPath to be injected via an unvalidated value, enabling RCE when Git hooks run (commit, merge, checkout). GitConfigParser.set_value() passes input to configparser without newlin...
CVE-2026-73625
GitPython before 3.1.54 contains a remote code execution vulnerability in the check_unsafe_options guard that can be bypassed by smuggling git options inside single-character kwarg values. Attackers can supply crafted option dictionaries to clone_from, fetch, pull, push, ls_remote, iter_commits, ...
CVE-2026-73619
GitPython before 3.1.57 is affected by an incomplete denylist in the unsafe_git_archive_options guard, which omits the --add-file and --add-virtual-file options. This allows an attacker to craft calls to Repo.archive() that can read arbitrary files from the filesystem and include them in the resu...
CVE-2026-76222
GitPython (versions before 3.1.58) fails to sanitize submodule names read from .gitmodules files, enabling path traversal during submodule initialization. An attacker can craft a malicious repository with traversal sequences (e.g., ../) in submodule names, causing GitPython to create attacker-con...
CVE-2026-42284
GitPython (Python Git library) is affected by CVE-2026-42284 due to unsafe handling of multi_options in _clone() before 3.1.47. The code validates multi_options as the original list, then performs shlex.split(" ".join(multi_options)), which can allow a crafted string like "--branch main --config ...
CVE-2026-73621
GitPython vulnerability CVE-2026-73621 affects GitPython before 3.1.56. The Commit.count() method forwards keyword arguments to git rev-list without the check_unsafe_options guard present in iter_items, allowing an attacker who controls options (e.g., via an app forwarding a user-supplied dict) t...
CVE-2026-76219
GitPython before 3.1.58 allows arbitrary file overwrite via injection of the --index-output option into git read-tree in IndexFile.from_tree, reset, and merge_tree methods. With low privileges, attackers destroy content at writable paths. CVSS 8.1 HIGH. Upgrade to 3.1.58. No in-the-wild exploitat...
CVE-2026-76221
GitPython before 3.1.58 is affected by a config-name injection vulnerability in the option-name validator. The validator fails to properly sanitize option names, allowing an attacker to inject equals signs, hash symbols, and whitespace to forge arbitrary git-config directives. A crafted option na...
CVE-2026-78677
GitPython before 3.1.59 omits the --separate-git-dir option from its unsafe_git_clone_options list, enabling a path traversal attack. An attacker can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, r...
CVE-2026-76218
GitPython before 3.1.58 has an RCE flaw in Repo.init that passes unvalidated git options, allowing attackers to inject a template directory with malicious hooks executed during subsequent git operations. Affected libraries should upgrade to 3.1.58 or later; no in-the-wild exploitation is reported...
CVE-2026-76220
GitPython before 3.1.58 allows arbitrary OS command execution: attackers bypass the check_unsafe_options guard by passing a single-character kwarg with split_single_char_options=False, crafting a joined token parsed as --upload-pack in guarded methods like clone_from, even at default allow_unsafe...
CVE-2026-78675
GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, enabling a local file content disclosure attack. An attacker who can place a malicious .gitmodules file in a repository can craft [include] directives pointing to sensitive local files. When repo.submodules is acces...
CVE-2026-76217
GitPython versions before 3.1.58 do not validate options passed to git rm and git checkout in IndexFile.remove() and Head.checkout(). Attackers can inject --pathspec-from-file and --pathspec-file-nul parameters to read arbitrary files accessible to the process, with full contents returned in GitC...
CVE-2026-78678
GitPython versions prior to 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits the --contents and -S options. An attacker with low privileges can supply crafted revision values (e.g., --contents=/etc/passwd) to the Repo.blame() method, enabling arbitrary fil...